(function($){
	fileObj = {
		fileObjId : "",		// 해당 파일 input id=file 이여야함.
		fileType : "img",	// 디폴트 사진, 다른 파일경우 추가 해줘야함.
		toObj : "",			// 파일업로드후 정보(save file name)를 저장할 input
		showImg : "",		// 이미지 미리보기시 보여질 img 태그 ID
		showFileInfo : "",
		fileAccept : [],
		oriNameUsed : false,
		submitChk : true
	};
	$.fn.uploadFile = function(options) {
		var uf = this;
		uf.fo = $.extend({}, fileObj, options);
		
		var fObj = $('#'+uf.fo.fileObjId);
		
		if(uf.fo.fileAccept != undefined && uf.fo.fileAccept.length > 0){
			var fileVal = fObj.val();
			var ext = fileVal.substring(fileVal.lastIndexOf(".")+1, fileVal.length).toLowerCase();
			var acceptChk = false;
			for(var i=0;i<uf.fo.fileAccept.length;i++){
				if(uf.fo.fileAccept[i].indexOf(ext) > -1){
					acceptChk = true;
					break;
				}
			}
			if(!acceptChk){
				alert("업로드 할수 없는 파일 입니다.");
				return;
			}
		}
		var clone = fObj.clone();	
		
		fObj.removeAttr('id');
		fObj.attr('name', 'file');
		clone.insertAfter(fObj);
		fObj.hide();
		fObj.appendTo(uf);
		uf.ajaxForm({
			dataType : 'json',
			success:function(data){
				uf.fo.submitChk = false;
				fObj.remove();
				if(data.status == "success" && uf.fo.fileType == 'img' && !uf.fo.oriNameUsed){
					$('#'+uf.fo.showFileInfo).html(data.orgFN+"("+data.fileSize+")");
					$('#'+uf.fo.showImg).attr('src', data.tmpUrl);
					$('#'+uf.fo.toObj).val(data.saveFN);
				}else if(data.status == "success" && uf.fo.fileType != 'img' && !uf.fo.oriNameUsed){
					$('#'+uf.fo.showFileInfo).html(data.orgFN+"("+data.fileSize+")");
					$('#'+uf.fo.toObj).val(data.saveFN);
				}else if(data.status == "success" && uf.fo.fileType != 'img' && uf.fo.oriNameUsed){
					$('#'+uf.fo.showFileInfo).html(data.orgFN+"("+data.fileSize+")");
					$('#'+uf.fo.toObj).val(data.saveFN+"**"+data.orgFN+"**"+data.fileSize);
				}
			}
		});
		if(uf.fo.submitChk)
			uf.submit();
	};
})(jQuery);